<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2017 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Free Software" and "Free Software Needs
Free Documentation", with the Front-Cover Texts being "A GNU Manual,"
and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: "You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom." -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Debugging with GDB: Mode Options</title>

<meta name="description" content="Debugging with GDB: Mode Options">
<meta name="keywords" content="Debugging with GDB: Mode Options">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Invoking-GDB.html#Invoking-GDB" rel="up" title="Invoking GDB">
<link href="Startup.html#Startup" rel="next" title="Startup">
<link href="File-Options.html#File-Options" rel="prev" title="File Options">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Mode-Options"></a>
<div class="header">
<p>
Next: <a href="Startup.html#Startup" accesskey="n" rel="next">Startup</a>, Previous: <a href="File-Options.html#File-Options" accesskey="p" rel="prev">File Options</a>, Up: <a href="Invoking-GDB.html#Invoking-GDB" accesskey="u" rel="up">Invoking GDB</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Choosing-Modes"></a>
<h4 class="subsection">2.1.2 Choosing Modes</h4>

<p>You can run <small>GDB</small> in various alternative modes&mdash;for example, in
batch mode or quiet mode.
</p>
<dl compact="compact">
<dd><a name="g_t_002dnx"></a></dd>
<dt><code>-nx</code></dt>
<dt><code>-n</code></dt>
<dd><a name="index-_002d_002dnx"></a>
<a name="index-_002dn"></a>
<p>Do not execute commands found in any initialization file.
There are three init files, loaded in the following order:
</p>
<dl compact="compact">
<dt><code><samp>system.gdbinit</samp></code></dt>
<dd><p>This is the system-wide init file.
Its location is specified with the <code>--with-system-gdbinit</code>
configure option (see <a href="System_002dwide-configuration.html#System_002dwide-configuration">System-wide configuration</a>).
It is loaded first when <small>GDB</small> starts, before command line options
have been processed.
</p></dd>
<dt><code><samp>~/.gdbinit</samp></code></dt>
<dd><p>This is the init file in your home directory.
It is loaded next, after <samp>system.gdbinit</samp>, and before
command options have been processed.
</p></dd>
<dt><code><samp>./.gdbinit</samp></code></dt>
<dd><p>This is the init file in the current directory.
It is loaded last, after command line options other than <code>-x</code> and
<code>-ex</code> have been processed.  Command line options <code>-x</code> and
<code>-ex</code> are processed last, after <samp>./.gdbinit</samp> has been loaded.
</p></dd>
</dl>

<p>For further documentation on startup processing, See <a href="Startup.html#Startup">Startup</a>.
For documentation on how to write command files,
See <a href="Command-Files.html#Command-Files">Command Files</a>.
</p>
<a name="g_t_002dnh"></a></dd>
<dt><code>-nh</code></dt>
<dd><a name="index-_002d_002dnh"></a>
<p>Do not execute commands found in <samp>~/.gdbinit</samp>, the init file
in your home directory.
See <a href="Startup.html#Startup">Startup</a>.
</p>
</dd>
<dt><code>-quiet</code></dt>
<dt><code>-silent</code></dt>
<dt><code>-q</code></dt>
<dd><a name="index-_002d_002dquiet"></a>
<a name="index-_002d_002dsilent"></a>
<a name="index-_002dq"></a>
<p>&ldquo;Quiet&rdquo;.  Do not print the introductory and copyright messages.  These
messages are also suppressed in batch mode.
</p>
</dd>
<dt><code>-batch</code></dt>
<dd><a name="index-_002d_002dbatch"></a>
<p>Run in batch mode.  Exit with status <code>0</code> after processing all the
command files specified with &lsquo;<samp>-x</samp>&rsquo; (and all commands from
initialization files, if not inhibited with &lsquo;<samp>-n</samp>&rsquo;).  Exit with
nonzero status if an error occurs in executing the <small>GDB</small> commands
in the command files.  Batch mode also disables pagination, sets unlimited
terminal width and height see <a href="Screen-Size.html#Screen-Size">Screen Size</a>, and acts as if <kbd>set confirm
off</kbd> were in effect (see <a href="Messages_002fWarnings.html#Messages_002fWarnings">Messages/Warnings</a>).
</p>
<p>Batch mode may be useful for running <small>GDB</small> as a filter, for
example to download and run a program on another computer; in order to
make this more useful, the message
</p>
<div class="smallexample">
<pre class="smallexample">Program exited normally.
</pre></div>

<p>(which is ordinarily issued whenever a program running under
<small>GDB</small> control terminates) is not issued when running in batch
mode.
</p>
</dd>
<dt><code>-batch-silent</code></dt>
<dd><a name="index-_002d_002dbatch_002dsilent"></a>
<p>Run in batch mode exactly like &lsquo;<samp>-batch</samp>&rsquo;, but totally silently.  All
<small>GDB</small> output to <code>stdout</code> is prevented (<code>stderr</code> is
unaffected).  This is much quieter than &lsquo;<samp>-silent</samp>&rsquo; and would be useless
for an interactive session.
</p>
<p>This is particularly useful when using targets that give &lsquo;<samp>Loading section</samp>&rsquo;
messages, for example.
</p>
<p>Note that targets that give their output via <small>GDB</small>, as opposed to
writing directly to <code>stdout</code>, will also be made silent.
</p>
</dd>
<dt><code>-return-child-result</code></dt>
<dd><a name="index-_002d_002dreturn_002dchild_002dresult"></a>
<p>The return code from <small>GDB</small> will be the return code from the child
process (the process being debugged), with the following exceptions:
</p>
<ul>
<li> <small>GDB</small> exits abnormally.  E.g., due to an incorrect argument or an
internal error.  In this case the exit code is the same as it would have been
without &lsquo;<samp>-return-child-result</samp>&rsquo;.
</li><li> The user quits with an explicit value.  E.g., &lsquo;<samp>quit 1</samp>&rsquo;.
</li><li> The child process never runs, or is not allowed to terminate, in which case
the exit code will be -1.
</li></ul>

<p>This option is useful in conjunction with &lsquo;<samp>-batch</samp>&rsquo; or &lsquo;<samp>-batch-silent</samp>&rsquo;,
when <small>GDB</small> is being used as a remote program loader or simulator
interface.
</p>
</dd>
<dt><code>-nowindows</code></dt>
<dt><code>-nw</code></dt>
<dd><a name="index-_002d_002dnowindows"></a>
<a name="index-_002dnw"></a>
<p>&ldquo;No windows&rdquo;.  If <small>GDB</small> comes with a graphical user interface
(GUI) built in, then this option tells <small>GDB</small> to only use the command-line
interface.  If no GUI is available, this option has no effect.
</p>
</dd>
<dt><code>-windows</code></dt>
<dt><code>-w</code></dt>
<dd><a name="index-_002d_002dwindows"></a>
<a name="index-_002dw"></a>
<p>If <small>GDB</small> includes a GUI, then this option requires it to be
used if possible.
</p>
</dd>
<dt><code>-cd <var>directory</var></code></dt>
<dd><a name="index-_002d_002dcd"></a>
<p>Run <small>GDB</small> using <var>directory</var> as its working directory,
instead of the current directory.
</p>
</dd>
<dt><code>-data-directory <var>directory</var></code></dt>
<dt><code>-D <var>directory</var></code></dt>
<dd><a name="index-_002d_002ddata_002ddirectory"></a>
<a name="index-_002dD"></a>
<p>Run <small>GDB</small> using <var>directory</var> as its data directory.
The data directory is where <small>GDB</small> searches for its
auxiliary files.  See <a href="Data-Files.html#Data-Files">Data Files</a>.
</p>
</dd>
<dt><code>-fullname</code></dt>
<dt><code>-f</code></dt>
<dd><a name="index-_002d_002dfullname"></a>
<a name="index-_002df"></a>
<p><small>GNU</small> Emacs sets this option when it runs <small>GDB</small> as a
subprocess.  It tells <small>GDB</small> to output the full file name and line
number in a standard, recognizable fashion each time a stack frame is
displayed (which includes each time your program stops).  This
recognizable format looks like two &lsquo;<samp>\032</samp>&rsquo; characters, followed by
the file name, line number and character position separated by colons,
and a newline.  The Emacs-to-<small>GDB</small> interface program uses the two
&lsquo;<samp>\032</samp>&rsquo; characters as a signal to display the source code for the
frame.
</p>
</dd>
<dt><code>-annotate <var>level</var></code></dt>
<dd><a name="index-_002d_002dannotate"></a>
<p>This option sets the <em>annotation level</em> inside <small>GDB</small>.  Its
effect is identical to using &lsquo;<samp>set annotate <var>level</var></samp>&rsquo;
(see <a href="Annotations.html#Annotations">Annotations</a>).  The annotation <var>level</var> controls how much
information <small>GDB</small> prints together with its prompt, values of
expressions, source lines, and other types of output.  Level 0 is the
normal, level 1 is for use when <small>GDB</small> is run as a subprocess of
<small>GNU</small> Emacs, level 3 is the maximum annotation suitable for programs
that control <small>GDB</small>, and level 2 has been deprecated.
</p>
<p>The annotation mechanism has largely been superseded by <small>GDB/MI</small>
(see <a href="GDB_002fMI.html#GDB_002fMI">GDB/MI</a>).
</p>
</dd>
<dt><code>--args</code></dt>
<dd><a name="index-_002d_002dargs"></a>
<p>Change interpretation of command line so that arguments following the
executable file are passed as command line arguments to the inferior.
This option stops option processing.
</p>
</dd>
<dt><code>-baud <var>bps</var></code></dt>
<dt><code>-b <var>bps</var></code></dt>
<dd><a name="index-_002d_002dbaud"></a>
<a name="index-_002db"></a>
<p>Set the line speed (baud rate or bits per second) of any serial
interface used by <small>GDB</small> for remote debugging.
</p>
</dd>
<dt><code>-l <var>timeout</var></code></dt>
<dd><a name="index-_002dl"></a>
<p>Set the timeout (in seconds) of any communication used by <small>GDB</small>
for remote debugging.
</p>
</dd>
<dt><code>-tty <var>device</var></code></dt>
<dt><code>-t <var>device</var></code></dt>
<dd><a name="index-_002d_002dtty"></a>
<a name="index-_002dt"></a>
<p>Run using <var>device</var> for your program&rsquo;s standard input and output.
</p>
</dd>
<dt><code>-tui</code></dt>
<dd><a name="index-_002d_002dtui"></a>
<p>Activate the <em>Text User Interface</em> when starting.  The Text User
Interface manages several text windows on the terminal, showing
source, assembly, registers and <small>GDB</small> command outputs
(see <a href="TUI.html#TUI"><small>GDB</small> Text User Interface</a>).  Do not use this
option if you run <small>GDB</small> from Emacs (see <a href="Emacs.html#Emacs">Using <small>GDB</small> under <small>GNU</small> Emacs</a>).
</p>
</dd>
<dt><code>-interpreter <var>interp</var></code></dt>
<dd><a name="index-_002d_002dinterpreter"></a>
<p>Use the interpreter <var>interp</var> for interface with the controlling
program or device.  This option is meant to be set by programs which
communicate with <small>GDB</small> using it as a back end.
See <a href="Interpreters.html#Interpreters">Command Interpreters</a>.
</p>
<p>&lsquo;<samp>--interpreter=mi</samp>&rsquo; (or &lsquo;<samp>--interpreter=mi2</samp>&rsquo;) causes
<small>GDB</small> to use the <em><small>GDB/MI</small> interface</em> (see <a href="GDB_002fMI.html#GDB_002fMI">The <small>GDB/MI</small> Interface</a>) included since <small>GDB</small> version 6.0.  The
previous <small>GDB/MI</small> interface, included in <small>GDB</small> version 5.3 and
selected with &lsquo;<samp>--interpreter=mi1</samp>&rsquo;, is deprecated.  Earlier
<small>GDB/MI</small> interfaces are no longer supported.
</p>
</dd>
<dt><code>-write</code></dt>
<dd><a name="index-_002d_002dwrite"></a>
<p>Open the executable and core files for both reading and writing.  This
is equivalent to the &lsquo;<samp>set write on</samp>&rsquo; command inside <small>GDB</small>
(see <a href="Patching.html#Patching">Patching</a>).
</p>
</dd>
<dt><code>-statistics</code></dt>
<dd><a name="index-_002d_002dstatistics"></a>
<p>This option causes <small>GDB</small> to print statistics about time and
memory usage after it completes each command and returns to the prompt.
</p>
</dd>
<dt><code>-version</code></dt>
<dd><a name="index-_002d_002dversion"></a>
<p>This option causes <small>GDB</small> to print its version number and
no-warranty blurb, and exit.
</p>
</dd>
<dt><code>-configuration</code></dt>
<dd><a name="index-_002d_002dconfiguration"></a>
<p>This option causes <small>GDB</small> to print details about its build-time
configuration parameters, and then exit.  These details can be
important when reporting <small>GDB</small> bugs (see <a href="GDB-Bugs.html#GDB-Bugs">GDB Bugs</a>).
</p>
</dd>
</dl>

<hr>
<div class="header">
<p>
Next: <a href="Startup.html#Startup" accesskey="n" rel="next">Startup</a>, Previous: <a href="File-Options.html#File-Options" accesskey="p" rel="prev">File Options</a>, Up: <a href="Invoking-GDB.html#Invoking-GDB" accesskey="u" rel="up">Invoking GDB</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
